Hackear la placa de control FPGA de un minero de Bitcoin |Hackaday

2022-07-02 10:11:02 By : Ms. SolarBaba Tech

Para cualquiera que se tome en serio la minería de criptomonedas como Bitcoin, hemos superado el punto en el que una computadora de escritorio estándar es de mucha utilidad.Si bien una variedad de GPU de gama alta sigue siendo viable para algunas monedas, los verdaderos bateadores pesados ​​​​utilizan hardware de minería personalizado que utiliza circuitos integrados específicos de la aplicación (ASIC) para procesar los números.Pero eventualmente, incluso la granja minera más poderosa comenzará a mostrar su edad, y muchas terminarán vendiéndose en el mercado de segunda mano por centavos de dólar.Naturalmente, los piratas informáticos están trabajando arduamente para encontrar usos alternativos para estas potencias informáticas.Si bien no le enseñará un truco nuevo a un ASIC antiguo, [xjtuecho] ha documentado algunos detalles muy interesantes en la placa de control FPGA del minero Bitcoin Ebit E9+.Conocida como EBAZ4205, esta placa se puede comprar por alrededor de $ 20 USD de importadores en línea e incluso menos si puede encontrar una usada.Dado que es solo el controlador, no lo ayudará a construir una supercomputadora económica, pero siempre hay interés en las placas de desarrollo FPGA económicas.Según [xjtuecho], se necesita un poco de trabajo para preparar el EBAZ4205 para la experimentación.Por un lado, es posible que tengas que soldar en tu propia ranura micro SD dependiendo de dónde obtuviste la placa.También deberá agregar un par de diodos para configurar desde qué dispositivo de almacenamiento arrancar y seleccionar de dónde obtiene la energía la placa.Una vez que haya terminado, tendrá una placa Linux Cortex A9 de doble núcleo con 256 MB DDR3 y un FPGA Artix-7 con elementos lógicos de 28K para jugar.A dónde vayas desde allí depende de ti.Esta no es la primera vez que vemos placas FPGA llegar al mercado de excedentes a precios bajísimos.Cuando los departamentos de TI comenzaron a deshacerse de sus existencias de clientes ligeros Pano Logic en 2013, surgió toda una comunidad de piratas informáticos dedicados a FPGA a su alrededor.No estamos seguros de si el EBAZ4205 disfrutará del mismo tipo de popularidad en su segunda vida, pero el precio ciertamente es el adecuado.[Gracias a Rog77 por el consejo.]¿Por qué algunos de los trazos del texto "EBAZ4205" están ondulados?Lo más probable es que el par ondulado de trazas sea para una señal de muy alta frecuencia.Probablemente sea una señal y una señal de retorno sobre un plano de tierra.El par forma una línea de transmisión y debe tener cierta longitud, espaciado, etc. para que la impedancia sea correcta.Es una señal diferencial con una impedancia requerida.Ddr a esta velocidad no es tan crítico en realidad.El enrutamiento como par diferencial es imprescindible, pero la coincidencia de longitud no es realmente.Pero en la mayoría de los casos, su herramienta de pcb lo hace por usted, así que ¿por qué no?Solo quiero comentar que esto no es exactamente correcto.DDR opera a una "velocidad de datos doble" y no deferentemente, por lo que, si bien la velocidad real en sí misma no es lo más importante, los datos se registran tanto en el flanco descendente como ascendente de cada ciclo de reloj y deben alinearse muy cerca mientras se mide en el rango de nanopicosegundos (para la velocidad de respuesta del borde combinada con el tiempo de espera de configuración, no para la velocidad de datos).Estos buses DDR3 están en un zynq 7000, por lo que es probable que tengan al menos 64 de ancho (tal vez 72 ECR), por lo que debe hacer coincidir las líneas de datos, las líneas de dirección, las líneas de control y la longitud bastante cerca.con las diferentes geometrías de los chips (destino y origen).Además, definitivamente tendrá algo de timbre y diafonía en cada línea con todas estas ~100+ señales agrupadas en un espacio muy pequeño, por lo que debe mantener las longitudes aún más ajustadas para permitir más margen para esto.Básicamente, termina siendo una pila literal de espaguetis que intenta mantener todas las longitudes emparejadas pero que tiene diferentes grados de distancias para cubrir.En resumen, si desea que cada tarjeta marginal que construya funcione con cada contenedor marginal de chip (tanto fpga como ddr), debe observar estas cosas muy de cerca.Hablando de la experiencia con Zynqs y DDR4, a excepción de cualquier aplicación de rf, el enrutamiento de DDR es definitivamente la parte más difícil del diseño en estas tarjetas y es muy importante obtener la coincidencia de longitud correcta.Además, incluso las herramientas más avanzadas solo lo ayudan a recorrer la mayor parte del camino cuando hay muchas señales en un área tan pequeña que tiene que ajustar debido a problemas de diafonía que las herramientas no pueden tener en cuenta.Por curiosidad, ¿conoce alguna herramienta de simulación de RF que se utilice al diseñar estas placas, o es la mejor práctica y prueba y error físico?Respondiendo a Rog, uso Hyperlynx en mi trabajo junto con el resto de la suite Mentor, pero la mayoría de los principales conjuntos de herramientas tienen su propio software de simulación asociado.Desafortunadamente, no estoy familiarizado con ningún paquete de nivel de aficionado, pero estoy seguro de que tiene que haber algunos.Gracias por tomarte el tiempo de responder, ciertamente vale la pena echarle un vistazo :-)Coincidencia de impedancia, la RAM está operando una interfaz paralela a alta velocidad.Eso necesita que todos los rastros tengan una longitud coincidente para que la señal se propague correctamenteTener la misma longitud para que las señales lleguen exactamente al mismo tiempo sin que ninguna de ellas se retrase por una traza más larga.Esto es necesario para la comunicación de alta velocidad con tolerancias de temporización estrictas, generalmente CPU/bus de memoria.¡Hay algunos requisitos de diseño de PCB aterradores alrededor de ese chip DRAM en la foto superior!También continúan en la parte inferior del tablero según una foto en el enlace.(¿Y quién sabe, en las capas internas?)¿O solo estoy siendo un viejo tonto porque nunca he presentado una DRAM moderna?Las trazas coinciden en longitud.Es importante que todas las señales tengan el mismo retardo de propagación para que las señales se alineen.En la placa de circuito impreso, simplemente hace garabatos en la traza para agregar longitud, de modo que las trazas más cortas coincidan con la longitud de las tiradas más largas.La impedancia coincide con las trazas para mantener la temporización y la fluctuación bajas.La última vez que hice girar una placa como esta, usamos las capas superior e inferior para la DRAM, las capas internas eran planos de potencia.Pueden compartir algunas similitudes arquitectónicas, pero un ASIC no se puede reprogramar como un FPGA.Esta placa tiene un FPGA, entonces, ¿cuál es tu punto?Nadie sugiere reutilizar los ASIC (aunque sería bueno), esta es la placa de control de FPGA para ellos.¿Hay un ASIC de minería allí?Esta es la placa de control para una matriz de tarjetas ASIC.También hay tableros de control Antminer S9 que tienen Gigabit Ethernet y hasta 1 GB de RAM (aparentemente, algunos pueden tener menos) por $ 15, y también usan el FPGA XC7Z010.Sin embargo, no veo ningún esquema para ello, lo que hace que ponerlo a trabajar haciendo otras cosas sea más difícil.Compré esta placa y obtuve estos esquemas y muestras.Todavía no tenía tiempo para jugar.https://github.com/KarolNi/S9miner_sampleSe puede acceder al esquema a través del enlace git en el artículo: https://github.com/xjtuecho/EBAZ4205/blob/master/HW/EBAZ4205.pdf.La placa en sí debería ser lo suficientemente fácil de usar con las herramientas de Xilinx.Tienen documentación de video gratuita disponible en su sitio web la última vez que lo verifiqué.Personalmente, puedo pensar en varios usos para este chico malo.Ese precio es barato.Biitmain usó un BeagleBone con Linux como interfaz de red durante mucho tiempo.Luego, un BeagleBone modificado para edades adicionales.Creo que S9 tiene uno en cada unidad.Los mineros de 5 años deberían ser chatarra gratis ahora.Estás comparando soc de tipo RPI con un fpga... hay una distinción aquí que creo que te puedes estar perdiendoLas NIC de Solarflare también son baratas (¿Ex-HFT/FinTech?), pero leí que usan la FPGA como un complemento, y el SDK para reprogramarlas es bastante costoso.Es una pena, porque he visto anteriormente diez tableros grandiosos por $ 100.Estoy confundido, ¿esta placa usa ASIC o FPGA?El artículo comienza hablando sobre ASIC y luego comienza a hablar sobre FPGA en el minero EBAZ4205.Me dejó rascándome la cabeza si me perdí algo en mi comprensión de ASIC y FPGA.Aquí está mi conclusión.Hay muchos tipos de mineros.Los mineros de alto nivel usan ASIC que no son reprogramables.Sin embargo, EBAZ4205 usa FPGA que se puede piratear.Esta es una placa de control basada en FPGA para placas ASIC de minería de criptomonedas que no están incluidas.El punto es que la placa de control FPGA utilizada en el minero ASIC se vende barata ya que ya no es lo suficientemente potente como para mantenerse al día con las criptomonedas.Este cuenta con un microprocesador ARM de doble núcleo junto con un FPGA Artix7.La placa se utilizó para controlar los mineros ASIC.Puede reutilizar la placa porque puede escribir su propio código para controlar el FPGA y los microprocesadores.Solo necesitas Vivado.El hecho de que existan mineros ASIC y FPGA indocumentados es algo realmente desagradable sobre bitcoin.Una computadora hecha hoy probablemente se podrá usar para algo durante 20 años.Bitcoin es una carrera armamentista constante, y cuanto más dinero ganas, más hardware de billetes puedes comprar y más necesitas para mantenerte al día cuando todos los demás lo hacen.PoW nunca puede ser eficiente.Simplemente aumentarán el trabajo.Puede agregar cosas extra centralizadas que son básicamente un banco para que funcione, pero la cadena en sí es un imán de desechos electrónicos.¡Me alegro de que la gente esté haciendo algo al respecto!¡Y que no hayan ido completamente a los mineros ASIC que se convierten en basura en el próximo ciclo de actualización!Realmente deberían publicar todos los documentos para todos los mineros obsoletos para que la generación anterior no sea basura.De hecho, las monedas criptográficas generan principalmente desechos electrónicos y, al mismo tiempo, queman actualmente unos pocos GW de energía en todo el mundo...Aunque, en lo que respecta a los mineros ASIC, son muy, muy comunes.La placa del artículo es solo un controlador para una serie de mineros ASIC.(Sin embargo, las tarjetas de minero ASIC no se muestran en el artículo).Y sí, cuando sale un nuevo ASIC de criptominería que es un poco más rápido o más eficiente en el consumo de energía, entonces los viejos tienden a ser basura en gran medida...Si no recuerdo mal, alguien pensó en la novedosa idea de usar chips mineros AISC "antiguos" para un calentador de espacio.Pero eso no despegó debido a su alto precio y la ridícula velocidad de minería que hacía que no fuera práctico que la minería fuera una característica notable.Incluso hay mineros ASIC del tamaño de unidades de memoria USB, como se puede ver aquí: https://hackaday.com/2013/06/23/turning-the-raspberry-pi-into-a-bitcoin-miner/(Y sí, es probable que los ASIC de los mineros de raspberry pi estén ridículamente obsoletos en el mundo de las criptomonedas...)¿Podrían al menos algunos ASIC de minería reutilizarse en PRNG?¿O galletas de hachís más genéricas?Además, los mineros de Bitcoin usados ​​baratos son excelentes para aquellos que aprovisionaron en exceso su energía solar y aquellos que obtienen electricidad a una tarifa fija en un dormitorio o apartamento.Aunque los servidores usados ​​podrían ser una mejor apuesta, ya que tienen usos más allá de la minería.Personalmente, las altcoins que prefiero extraer son las que se pueden extraer de manera rentable utilizando tabletas y teléfonos inteligentes baratos.Simplemente no hay muchos de esos y aún menos que todavía sean rentables para mí, aunque uno, Swagbucks, ha durado mucho más de lo que esperaba.No sospecharía que la mayoría de los ASIC de minería han tenido en cuenta las aplicaciones "post minería" para ser justos.Principalmente porque agrega lógica adicional al flujo de señal en el dispositivo.Esto reducirá la eficiencia energética.(Es decir, hash/vatio) Y también menor rendimiento máximo.(es decir, hases/segundo)Dos cosas bastante indeseables en lo que respecta a los mineros.Sin embargo, si tales adiciones hicieran que el chip se pudiera usar para otras cosas además de la minería.Entonces al menos no sería basura electrónica literal al final de su vida.Sin embargo, esto es cierto para la mayoría de los aceleradores destinados directamente a una tarea específica.Pero sería bueno si se pudiera usar un ASIC de "minería" para el hash de archivos, la generación de claves y la generación general de números pseudoaleatorios.(Aunque, por último, un par de cámaras web que miran las lámparas de lava y mezclan las imágenes capturadas pueden proporcionar mucha más aleatoriedad "verdadera". (Obviamente, una referencia al video de bengalas en las nubes de Tom Scott... Y Hack a Day incluso tiene un artículo al respecto: https://hackaday.com/2018/01/04/the-grooviest-random-number-generator-ever/))Aunque en mi propia opinión.Las criptomonedas no son más que un desperdicio exagerado de recursos y energía, por lo que son registros de transacciones francamente inútiles.Espero que conduzca un automóvil eléctrico o una bicicleta para ir al trabajo (o teletrabajar como muchos lo hacen hoy en día) ya que mi configuración de minería Swagbucks usó menos vatios por hora por $ ganado que conducir 20 millas de ida y vuelta todos los días a un trabajo de $ 50 / hora en un Prius, incluso bajo la suposición muy poco realista de que el lugar de trabajo no usa energía.Dicho esto, la ruta más prometedora hacia la minería energéticamente eficiente es hacer que la minería haga un trabajo útil.Curecoin y Foldingcoin son los que me gustan especialmente porque extraen usando investigación biomédica.Probablemente no.El hashing realizado en los ASIC está completamente optimizado para el caso de uso específico de Bitcoin.Por ejemplo, el resultado del hash se verificará internamente y luego se desechará si no alcanza el nivel de dificultad.Parece que ebay.cn vio este artículo, ¡muchos de ellos figuran como tableros de desarrollo zynq fpga!Todavía muy barato.Se han enumerado como devboards Zynq en eBay y Aliexpress durante semanas.Mi tablero llegó hace dos días.Compré el más barato sin ranura µSD presoldada.La ranura, un encabezado de 1 × 4 y un encabezado de 2 × 7 se proporcionaron en una bolsa separada.¿Se puede reprogramar el FPGA sin un paquete de software de alto costo?Vivado se puede descargar gratis.Sin embargo, creo que hay limitaciones en la versión gratuita.La placa Pano Logic G1 solo tiene 16k elementos lógicos, pero la G2 tiene de 100k a 150k, lo que avergüenza a esta placa de control.Lo bueno de esta placa de control es que tiene un procesador ARM en su interior.Pano logic G2 usa un spartan6 LX100/150 que solo es compatible con una versión ISE gratuita, que se ejecuta solo en win10 pro.O con licencia, en este caso probablemente no te importe el precio de la placa.El ISE "win10 pro" solo es en realidad una máquina virtual que ejecuta Linux.Mucha gente ha copiado los archivos a Linux y los ha ejecutado de forma nativa.Por ejemplo: https://www.thanassis.space/myowncpu.html¿Puedo programar esta placa con j-link segger o necesito algo más?en caso de que alguien se encuentre en la misma situación que yo (compré el T9+ y no obtuve ningún documento al respecto), Antminer T9+ tiene el mismo pinout para el lado PS que Antminer S9, por lo que el proyecto de ejemplo de S9 se puede usar para Antminer T9+ (Los archivos S9 se proporcionan arriba en el comentario de KarolNi del 19 de noviembre de 2020 a las 12:17 a. m.).En cuanto al lado de PL, todavía estoy tratando de resolverlo.Por lo que comprobé, J8, J7 y J6 tienen el mismo pinout, pero la diferencia es que T9+ tiene resistencias adicionales y diodos de sujeción (probablemente para protección Zynq IO).Además, J2, J3 y J4 son totalmente diferentes, por lo que aún debe determinarse el pinout.Gracias, también pedí un T9+ pero aún no he comenzado...¿Hay una interfaz JTAG o UART?Sí, J7 es UART y J8 es Jtag, solo suelde algunos encabezados y disfruteTener la misma longitud para que las señales en ambas (o múltiples) líneas lleguen al mismo tiempo.Este es un requisito para señales de alta velocidad con tolerancias de tiempo ajustadas.Sea amable y respetuoso para ayudar a que la sección de comentarios sea excelente.(Política de comentarios)Este sitio utiliza Akismet para reducir el spam.Aprende cómo se procesan los datos de tus comentarios.Al utilizar nuestro sitio web y nuestros servicios, usted acepta expresamente la colocación de nuestras cookies de rendimiento, funcionalidad y publicidad.Aprende más